GtkSettings: Keep right refcount of the theme provider.
authorCarlos Garnacho <carlosg@gnome.org>
Sat, 13 Nov 2010 21:36:22 +0000 (22:36 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:39:08 +0000 (15:39 +0100)
gtk/gtksettings.c

index eb541f9c4152e73bb7b41d249dc8acb742456622..f699dec26784481fd08ce34ab3df9dbcfc783d75 100644 (file)
@@ -2636,12 +2636,15 @@ settings_update_theme (GtkSettings *settings)
                                                       GTK_STYLE_PROVIDER (provider));
 
       if (new_provider)
-        gtk_style_context_add_provider_for_screen (settings->screen,
-                                                   GTK_STYLE_PROVIDER (new_provider),
-                                                   GTK_STYLE_PROVIDER_PRIORITY_SETTINGS + 1);
+        {
+          gtk_style_context_add_provider_for_screen (settings->screen,
+                                                     GTK_STYLE_PROVIDER (new_provider),
+                                                     GTK_STYLE_PROVIDER_PRIORITY_SETTINGS + 1);
+          g_object_ref (new_provider);
+        }
 
       g_object_set_qdata_full (G_OBJECT (settings), quark_theme_name,
-                              new_provider, (GDestroyNotify) g_object_unref);
+                               new_provider, (GDestroyNotify) g_object_unref);
     }
 }